export function createWs(url: string, fn: any,errfn?:any) {

  const ws = new WebSocket(url);

  // 监听 WebSocket 连接打开事件
  ws.addEventListener('open', () => {
    console.log('WebSocket connection opened');
  });

  // 监听 WebSocket 接收到消息事件
  ws.addEventListener('message', event => {
    // 在页面上显示接收到的消息
    try{
      fn(JSON.parse(event.data))
    }catch{
      fn(event.data)
    }
  
  });

  // 监听 WebSocket 连接关闭事件
  ws.addEventListener('close', () => {
    console.log('WebSocket connection closed');
  });

  // 监听 WebSocket 出错事件
  ws.addEventListener('error', error => {
    console.error('WebSocket error:', error);
  });

  // 发送数据
  const send = (data: any) => {
    if (ws.readyState === WebSocket.OPEN) {
      // 将数据转换为JSON字符串格式（如果数据本身不是字符串的话，这里假设发送的数据适合转换为JSON格式）
      const message = JSON.stringify(data);
      ws.send(message);
    } else {
      console.error('WebSocket连接未打开，无法发送数据');
      errfn&&errfn()
    }
  };

  return {
    send
  };

}
